home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 201-220 / scopedisk210 / arq / arq.doc < prev    next >
Text File  |  1995-03-19  |  13KB  |  498 lines

  1.  
  2.  
  3.      Page 1                         Arq                         Page 1
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                     Arq
  22.            Copyright © 1990,91 by Martin Laubach and Peter Wlcek
  23.                             All rights reserved
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.      Page 2                         Arq                         Page 2
  66.  
  67.  
  68.  
  69.   1. Introduction      
  70.  
  71.        Arghh! There it is again... My favorite application just
  72.      wanted to inform me of some important event. And there it
  73.      appears, the much-hated standard system requester, that
  74.      itty-bitty window that seems glued forever to the upper left
  75.      edge of the screen, a requester that can only be acknoledged
  76.      using the mouse or some much too cryptic key combination (ugh!
  77.      been reading too much lyric lately?) 
  78.  
  79.        It seems that although appearance of these system requesters
  80.      has been improved in Kickstart 2.0 over 1.3, it wasn't nearly
  81.      enough. Close, but no banana...  
  82.  
  83.  
  84.   2. Who and why    
  85.  
  86.        Especially Peter was very unhappy with the new style
  87.      requesters in 2.0 (he doesn't like the 1.3 version either) --
  88.      "They have redone the Workbench, it now looks slick and shiny,
  89.      but those requesters are about as awful as they could be", and
  90.      "the design of the new requesters has already improved quite a
  91.      bit -- compared to Kickstart 1.3. But yet they are not yet
  92.      state-of-the-art".  
  93.  
  94.        Having seen one of my (Martin's) earlier tools, "CR", that
  95.      remapped the requesters under 1.3 to something a bit more
  96.      appealing to the eye (and IMHO, kinda much more user friendly),
  97.      he came up with the idea of redesigning those dialog boxes.  
  98.  
  99.        In the beginning, I was not quite happy about rewriting my
  100.      code to suit his rather perfectionist ideas ("now leave two
  101.      pixels here, and don't forget that line of gray to the
  102.      right...") -- no idea how he's done it, but he finally got me to
  103.      the point to do him the favor.  
  104.  
  105.        So here's the result. Note that it is trimmed to fit the "new
  106.      look" of Workbench 2.0 (hires interlace -- any other resolution
  107.      will make it look a bit weird).  
  108.  
  109.  
  110.   3. What      
  111.  
  112.        Arq, abreviation for -- well, I forgot --, is a little utility
  113.      to improve the look and feel of system requesters under AmigaOS
  114.      2.0.  Or, as Peter put it: 
  115.  
  116.        "If you were ever used to those really professional
  117.      Custom-Requesters for KS 1.3 from mjl, you were missing those
  118.      under AmigaOS-2. Well -- here they are!" 
  119.  
  120.        Since 1.57, Arq features a sound interface -- any appearing
  121.      requester now may be accompagnied by some user-definable sound.
  122.  
  123.  
  124.      What
  125.  
  126.  
  127.      Page 3                         Arq                         Page 3
  128.  
  129.  
  130.      Please refer to the respective chapter for more information
  131.      about the sound interface.  
  132.  
  133.        Arq wedges into Intuition's AutoRequest(), EasyRequest() and
  134.      DisplayBeep() vectors (as well as CloseScreen(), but you won't
  135.      notice that one), and replaces each of those routines by our
  136.      artist's idea of a requester, which is much more flexible and
  137.      user friendly than the system's standard requester.  
  138.  
  139.        Note that the graphics are stored in fax-like compression
  140.      format. This means that you (a) won't be able to compress it
  141.      much further, (b) having several Arq requesters open on a plain
  142.      vanilla 68000 will slow down the system a bit.  
  143.  
  144.        This archive should contain 
  145.             Arq ......... The executable
  146.             Arq.doc ..... What you are reading now
  147.             Arq.h ....... Include file for special features
  148.             upd ......... The micro player daemon
  149.             upd.doc ..... Matching documentation
  150.  
  151.   4. How to     
  152.  
  153.        Just "run arq" and enjoy the improved system messages. To stop
  154.      it, just send it a ^C via the "break" command (though I doubt
  155.      you'll ever want to quit it).  
  156.  
  157.        Under 2.0, you can control Arq with the Commodities Exchange
  158.      tool. You may freely enable, disable, or kill Arq. Also,
  159.      starting Arq a second time, will remove itself from the system.  
  160.  
  161.        The main advantage of those requesters is (apart their look),
  162.      that we moved the strange combination of Left-Amiga-V and
  163.      Left-Amiga-B (of course those are working too, special favour to
  164.      Andy Finkel) to the ESC and RETURN key, which makes life quite a
  165.      lot easier (no more knots in your fingers).  
  166.  
  167.        Another possibility is to use the function keys, where F1
  168.      corresponds to the leftmost, F2 to the second, and so forth,
  169.      gadget -- that way you can answer requesters with more than two
  170.      buttons, like IconEdit's.  
  171.  
  172.        Though written with 2.0 in mind, Arq does work under 1.3 as
  173.      well -- but the layout will look a bit stretched in
  174.      non-interlace mode. We will come out with an adapted version
  175.      when the time is ripe (ie. bug me, and you'll probably get it
  176.      [sigh]).  
  177.  
  178.        Please also note that this command replaces some of the
  179.      library vectors in intuition.library -- restoring them is per
  180.      definitionem not a safe operation.  While this works most of the
  181.      time, you may witness wonderful things happening when there is
  182.      another tool (like srt) wedged in after Arq.  So please be
  183.      careful.  
  184.  
  185.  
  186.      How to
  187.  
  188.  
  189.      Page 4                         Arq                         Page 4
  190.  
  191.  
  192.  
  193.        A favorite seems to install AssignX in conjunction with Arq --
  194.      please note that when using a bigger system font, Arq will find
  195.      the so changed requester too big to be opened, and use the
  196.      original system requester instead. THIS IS NOT A BUG, but an
  197.      intended feature.  
  198.  
  199.  
  200.   5. Sounding away     
  201.  
  202.        Instead of building the sound capability into Arq itself, we
  203.      chose to implement it following the client-server model:  a
  204.      sound playing server, as, for example the "upd" sound daemon by
  205.      Jonas Petersson will do all the hard work, giving you the
  206.      additional bonus of being able to play your favorite tunes from
  207.      your ARexx programs...  
  208.  
  209.        Upd has been included with the express permission of the
  210.      author. Please do not remove it from this archive! 
  211.  
  212.        The following sound IDs are used, for the corresponding
  213.      requesters and DisplayBeep -- please refer to upd's
  214.      documentation how these work.  
  215.  
  216.           · warn_write_protected
  217.           · warn_insert_volume
  218.           · warn_delete
  219.           · warn_printer
  220.           · error_task_held
  221.           · error_read_write
  222.           · error_general
  223.           · warn_general
  224.           · query_general
  225.           · beep
  226.  
  227.  
  228.  
  229.   6. Programmabilities      
  230.  
  231.        Often some application would display a requester e.g. in a
  232.      different language, thus Arq was unable to choose the correct
  233.      imaginery to display.  To circumvent this problem, Arq features
  234.      third-party programmable animations and images since version
  235.      1.64.  
  236.  
  237.        The problem was how to extend the usual EasyStruct without
  238.      disturbing the correct working on machines without Arq installed
  239.      or with an older version of Arq. Our (yes, it's strange)
  240.      solution is to stick a non-breaking space (0xA0) in
  241.      easy.es_Title.  
  242.  
  243.        The extended EasyStruct looks like this (and can be found in
  244.      arq.h): 
  245.  
  246.  
  247.  
  248.      Programmabilities
  249.  
  250.  
  251.      Page 5                         Arq                         Page 5
  252.  
  253.  
  254.             struct ExtEasyStruct
  255.                     {
  256.                     struct Image *Image;
  257.                     char *Sound;
  258.                     WORD AnimID;
  259.                     UWORD Flags;
  260.                     ULONG Magic;
  261.                     ULONG Reserved[3];
  262.                     struct EasyStruct Easy;
  263.                     };
  264.  
  265.        To trigger the recognition of an extended structure, you have
  266.      to put a non-breaking space in easy.Easy.es_Title, and fill
  267.      easy.Magic with the value ARQ_MAGIC.  
  268.  
  269.        Only then Arq will look at the extra fields to determine which
  270.      imaginery should be displayed.  
  271.  
  272.        You have the following possibilities: 
  273.  
  274.        One: Put the ID of the scene you want to appear into
  275.      easy.AnimID -- Arq will display the animation of your choice.
  276.      For example, stuff ARQ_ID_GURU in that field (see the include
  277.      file arq.h for more ID names), and no matter what the requester
  278.      text is, you will always get the guru imaginery.  
  279.  
  280.        Or two: Put ARQ_ID_IMAGE into easy.AnimID, and a pointer to a
  281.      struct Image into easy.Image. Arq will then display the (static)
  282.      image you provided instead of any built-in imaginery. If
  283.      easy.Sound is non-NULL, Arq will also attempt to play the sound
  284.      with the given name (please refer to the chapter about "upd" and
  285.      sounds for more details).  
  286.  
  287.        After having filled out the ExtEasyStruct structure, submit it
  288.      to the EasyRequest() routine, like this: 
  289.  
  290.             EasyRequest(&MyExtEasyStruct->Easy) 
  291.  
  292.  
  293.   7. License      
  294.  
  295.        This material is © Copyright 1990,91 by Martin J. Laubach.
  296.      Imaginery is © Copyright 1990,91 by Peter Wlcek -- All rights
  297.      reserved.  
  298.  
  299.        It may be distributed freely as long as the following
  300.      restrictions are met: 
  301.  
  302.        The distributor may charge a fee to recover distribution
  303.      costs. The fee for diskette distribution should not be more than
  304.      the cost to obtain the same diskette from Fred Fish.  
  305.  
  306.        The distributor agrees to cease distributing the programs and
  307.      data involved if requested to do so by the authors.  
  308.  
  309.  
  310.      License
  311.  
  312.  
  313.      Page 6                         Arq                         Page 6
  314.  
  315.  
  316.  
  317.        You may copy and distribute verbatim copies of the program's
  318.      executable code and documentation as you receive it, in any
  319.      medium, provided that you conspicuously and appropriately
  320.      publish only the original, unmodified program, with all
  321.      copyright notices and disclaimers of warranty intact and
  322.      including all the accompanying documentation, example files and
  323.      anything else that came with the original.  
  324.  
  325.        The author will not be liable for any damage arising from the
  326.      failure of this program to perform as described, or any
  327.      destruction of other programs or data residing on a system
  328.      attempting to run the program.  While I know of no damaging
  329.      errors, the user of this program uses it at his or her own
  330.      risk.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.      License
  373.  
  374.  
  375.      Page 7                         Arq                         Page 7
  376.  
  377.  
  378.   8. Acks and Naks    
  379.  
  380.           Additional code by René Hexel.
  381.           Amiga and AmigaDOS are trademarks of Commodore-Amiga, Inc.
  382.           ARexx by William S. Hawes.
  383.           Perfectionism by Peter Wlcek.
  384.           Sporting events, transportation and girls by
  385.                    the Beach Boys.
  386.           upd by Jonas Petersson.
  387.           Window centering code by Holger Gzella, with additional comments
  388.                    by Peter Cherna.
  389.  
  390.  
  391.   9. Postscript      
  392.  
  393.         We are not really happy yet with the imaginery for "?" and
  394.      "!". Should you have "THE" idea, please get in touch with any of
  395.      us...  
  396.  
  397.        Also, don't hesitate to yell when you've got graphics you'd
  398.      like to see in the next version.  
  399.  
  400.  
  401.   10. Reactions      
  402.  
  403.        If you have any comments, ideas what could or should be
  404.      improved, bug reports or just like to chat a bit, please feel
  405.      free to contact me at one of the following addresses... I just
  406.      *love* receiving mail! 
  407.  
  408.        FidoNet: 2:310/3.14 
  409.        Usenet:  mjl@alison.at 
  410.                 {cbmvax!cbmehq,mcsun!tuvie}!cbmvie!alison!mjl 
  411.  
  412.        Peter, the graphics and animation wizard, can be reached
  413.      2:310/42 in FidoNet.  
  414.  
  415.        Looking forward to reading from you, 
  416.  
  417.              mjl 
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.      Reactions
  435.  
  436.  
  437.      Page 8                         Arq                         Page 8
  438.  
  439.  
  440.   11. Road Map    
  441.  
  442.  
  443.  
  444.         1. Introduction     ....................................    2
  445.         2. Who and why   .......................................    2
  446.         3. What     ............................................    2
  447.         4. How to    ...........................................    3
  448.         5. Sounding away    ....................................    4
  449.         6. Programmabilities     ...............................    4
  450.         7. License     .........................................    5
  451.         8. Acks and Naks   .....................................    7
  452.         9. Postscript     ......................................    7
  453.         10. Reactions     ......................................    7
  454.         11. Road Map    ........................................    8
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.      Road Map
  497.  
  498.